﻿/*
Nombre:                         LongitudValidador
Descripcion:                    Clase verifica toda la fila del componente datagrid
Dependencias:                 
Fecha de creación:              20091102
Autor:                          VMORALES
Fecha de modifcación:         
Responsable:                  
Num. de modifcación:            0
*/

#region Imports

using System.Windows.Controls;
using System.Globalization;
using System.Windows.Data;
using System.Text;
using System.ComponentModel;

#endregion

namespace Electrocucaracha.AdminPersonal.Utils.Validador
{
    /// <summary>
    /// Clase verifica cada uno de los campos o propiedades para los registros de los bancos
    /// </summary>
    public class FilaValidador : ValidationRule
    {
        #region Constantes

        #endregion

        #region Miembros

        #endregion

        #region Propiedades

        #endregion

        #region Constructores

        #endregion

        #region Funciones

        public override ValidationResult Validate(object value, CultureInfo cultureInfo)
        {
            BindingGroup group = value as BindingGroup;

            if (group != null)
            {
                StringBuilder error = null;
                foreach (var item in group.Items)
                {
                    // aggregate errors
                    IDataErrorInfo info = item as IDataErrorInfo;
                    if (info != null)
                    {
                        if (!string.IsNullOrEmpty(info.Error))
                        {
                            if (error == null)
                            {
                                error = new StringBuilder();
                            }
                            error.Append((error.Length != 0 ? ", " : string.Empty) + info.Error);
                        }
                    }
                }

                if (error != null)
                {
                    return new ValidationResult(false, error.ToString());
                }
            }

            return ValidationResult.ValidResult;
        }//Validate

        #endregion


    }//FilaValidador
}//Electrocucaracha.AdminPersonal.Utils.Validador